package com.hsjk.szwj.module.train.convert;

import com.hsjk.szwj.module.train.controller.app.vo.course.*;
import com.hsjk.szwj.module.train.dal.dataobject.course.*;

import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * @author chenjiawei
 * @desc
 * @Date 2023/08/04 15:36
 **/
@Mapper
public interface AppCourseConvert {
    AppCourseConvert INSTANCE = Mappers.getMapper(AppCourseConvert.class);

    List<AppCourseTagRespVO> convertAppCourseTagListResp(List<CourseTagDO> courseTagDOList);

    List<AppCourseCatalogRespVO> convertAppCourseCatalogListRespVO(List<CourseCatalogDO> catalogDOList);

    List<AppCourseItemRespVO> convertAppCourseItemListRespVO(List<CourseItemDO> courseItemDOS);

    AppCourseItemRespVO convert(CourseItemDO courseItemDOS);

    AppCourseVideoRespVO convertAppCourseVideoListRespVO(CourseVideoDO courseVideoDOS);

    AppCourseArticleRespVO convertAppCourseArticleListRespVO(CourseArticleDO courseArticleDOS);

    List<AppCoursePageRespVO> convertAppCoursePageRespVO(List<CourseDO> courseDOS);

    AppCourseDetailRespVO convertAppCourseDetailRespVO(CourseDO courseDO);

    CourseStudyRecordDO convert(AppCourseStudyRecordReqVO reqVO);

    List<AppCourseVideoPointRespVO> convert(List<CourseVideoPointDO> videoPointByVideoId);

    AppCourseStudyRecordRespVO convert(CourseStudyRecordDO studyRecordDO);

    AppCourseLiveRespVO convert(CourseLiveDO liveDO);
}
